草庐IT

Java SE - 集合

全部标签

java - 在集合中查找单个对象,HashMap vs List filter

我生成了Customer的列表从我阅读的文件中。我将这些客户存储在HashMap中其中键是一个唯一的id:Mapcustomers=readCustomers();//Foreachobjectcreatedcustomers.put(c.getCustomerId(),c);我从第二个文件中获取用于更新HashMap中对象的数据.我使用key来查找要更新的对象://getthedetailsinformationscustomers.get(customerId).setDetails(details);在java8中我可以使用:classCustomer{...publicstat

Java 泛型集合,无法将列表添加到列表

为什么会这样publicclassListBox{privateRandomrandom=newRandom();privateList>box;publicListBox(){box=newArrayList();}publicvoidaddTwoForks(){intsizeOne=random.nextInt(1000);intsizeTwo=random.nextInt(1000);ArrayListone=newArrayList(sizeOne);ArrayListtwo=newArrayList(sizeTwo);box.add(one);box.add(two);}pu

具有有界通配符的泛型类型的 Java 泛型集合

请帮我解决这个问题:如果LionIS-AAnimal并给出Cage:Cagec=newCage();//ok,但是Set>cc=newHashSet>();//notok我在这里没有看到什么? 最佳答案 当分配给具有非通配符泛型类型的变量(Set)时T,被分配的对象必须恰好有T作为其通用类型(包括T的所有通用类型参数,通配符和非通配符)。在你的情况下T是Cage,与Cage不同类型.你能做什么,因为Cage可分配给Cage,是使用通配符类型:Set>a=newSet>(); 关于具有有界

java - 是否存在扩展不允许空元素的 List 的 native JAVA 集合类?

根据documentation,List.contains可以扔NullPointerException在这种情况下:"ifthespecifiedelementisnullandthislistdoesnotsupportnullelements(optional)."我只是想考虑一个不允许空值的List实现,但我不知道有任何空值。例如,我可以有ArrayList,但它允许空值。Listlist=newArrayList();if(list.contains(null)){//thiswon'tthrowNPE}这里的文档是指该接口(interface)的自定义实现,还是有一些扩展了

此用例的 Java 集合

假设我们有一堆Car对象。每辆汽车都有一些与众不同的属性,例如制造商、型号、年份等(这些可用于创建不同的哈希码)。每辆车都有一个PurchaseOffer对象列表(一个PurchaseOffer对象包含定价\零售商信息)。我们从几个不同的来源收到汽车列表,每辆汽车都有一个PurchaseOffer。问题是,这些列表可能会重叠-一辆汽车可能出现在多个列表中。我们希望将列表聚合到一个Car集合中,其中每辆Car都包含所有遇到的PurchaseOffers。我的问题是在此聚合过程中选择要收集的内容:使用java.util.HashSet来保存我们的汽车感觉很自然,这样当遍历不同的汽车列表时,

java - 如何在 Java 中为无序对编写一个集合

我需要一个集合(HashSet),这样如果我插入一对(a,b)并且如果(b,a)已经在集合中,插入将被忽略。如何在Java中执行此操作?非常感谢! 最佳答案 好吧,这取决于Pair类的hashCode()和equals()方法。他们需要无视秩序。Set本身就是一个忽略相等顺序的类的一个很好的例子——你可以看看AbstractSet的代码.如果即使在相等比较之外,对的顺序也无关紧要,您可以只在集合中存储HashSet(每个都有两个元素)。最好将其包装在数据类型中:publicclassUnorderedPair{privatefina

java - 在 Spring-Hibernate 项目中初始化实体集合 (POJO) 的正确方法是什么?

我有一个POJO类,比如Foo,它有一组其他实体实例,比如bars。此类项目也有标准的杂项类:Foo和Bar的服务和dao。我希望BarService获取与某些Foo关联的Bar实例集。现在我有以下代码,我认为它在概念上是错误的。publicclassFoo{Setbars;publicSetgetBars(){if(bars==null)return(bars=newHashSet());returnbars;}}publicclassBarServiceImpl{publicListgetListOfBars(Foofoo){returnnewArrayList(foo.getBa

java - 同步集合

由于c已经是同步集合,因此它是线程安全的。但为什么我们必须再次使用synchronized(c)进行迭代?真的很困惑。谢谢。"用户必须手动同步返回的迭代时的集合:Collectionc=Collections.synchronizedCollection(myCollection);...synchronized(c){Iteratori=c.iterator();//Mustbeinthesynchronizedblockwhile(i.hasNext()){foo(i.next());}}不遵循此建议可能会导致不确定的行为。“http://docs.oracle.com/javas

java - 关于空间/时间的 Groovy 集合性能注意事项

与普通Javafor循环相比,Groovys集合方法(关于空间(!)和时间)的性能如何?例如对于这个用例:sum()与带变量的for循环each()与带变量的for循环inject()与带变量的for循环collect()与带有临时集合的for循环findAll()与带有临时集合的for循环find()与带变量的for循环因此,考虑到这些结果,是否建议在关键环境(例如Grails-WebApp)中使用for循环而不是Groovy集合方法?是否有关于Groovy/Grails性能(优化)的资源?使用这个GBench测试,我得到了以下CPU时间结果:usersystemcpurealfor

如何将XML从文件到一个对象集合

我有一个车辆课,我创建了车辆课的集合SelectedVehicle(10)根据XML中的车辆数量,我想在我的课堂中添加XML,但是在我的对象中,我的属性在每台情况下都有错误数量在每个对象中。XML:Door10Door11Door12Door13Window0Window1Window2Window3Door10Door11Door12Door13Window0Window1Window2Window3VBScript代码:ClassVehicleDimDoors(10)DimWindows(10)EndClassSubLoadGame(ByRefselectedGame)DimRoot,No